var express = require('express');
var router = express.Router();
var knex = require('../config/index')
var moment = require('moment')
var crypto = require('crypto');

function cryptPwd(password) {
    var md5 = crypto.createHash('md5');
    return md5.update(password).digest('hex');
}

// 登录接口
router.post('/login', function (req, res, next) {
    let body = req.body
    let psd = cryptPwd(body.password)
    if (!body.username || !body.password) {
        res.json({ status: 401, msg: '请填写完整登录信息' })
        return false
    }
    //取到的数据
    knex('user').where('name', body.username).then(function (data) {
        // 判断是否为空
        if (data) {
            data.filter(rs => {
                // 检测用户名是否存在
                if (rs.name == body.username) {
                    // 判断密码
                    if (rs.password === psd)
                        res.json({ status: 200, msg: "登录成功" })
                    else
                        res.json({ status: 401, msg: "密码不正确" })
                } else {
                    res.json({ status: 401, msg: "该用户不存在" })
                }
            })
        } else {
            res.json({ status: 401, msg: '该用户不存在' })
        }

    }).catch(function (data) {
        res.json({ status: 401, msg: data })
    })
    // res.end()
});

// 新增角色
router.post('/adduser', function (req, res, next) {
    let body = req.body
    if(body.userId > 0){
        knex('user').where('id', body.userId).update({ 'name': body.username, 'phone': body.phone, 'password': body.psd, 'role': body.role }).then(function(data) {
            res.json({ status: 200, msg: '修改成功' })
        })
    }else{
        if (!body.username || !body.psd || !body.phone) {
            res.json({ status: 401, msg: '请填写完整信息' })
            return false
        }
        // 查询是否有相同用户名的用户
        knex('user').where('name', body.username).then(function (data) {
            
            if(!data) {
                res.json({ status: 401, msg: "用户名重复啦" })
                return false
            }
        })
        let psd = cryptPwd(body.psd)
        // 添加到数据库
        knex('user').insert({ 'name': body.username, 'phone': body.phone, 'password': psd, 'role': body.role }).then(function (data) {
            res.json({ status: 200, msg: '添加成功' })
        })
    }
    
});
module.exports = router;

